{-------------------------------------------------------------------------------}
      //sFileName := ExtractFilePath(Application.ExeName) + 'Data\ui\cqfir.uib';
      //FileSetAttr(sFileName, 0);
      //DeleteFile(sFileName);
      if g_ConfigClient.nBackBmpSize > 0 then begin
        InBytes := g_ConfigClient.nBackBmpSize;
        GetMem(InBuf, InBytes);
        try
          g_MemoryStream.Seek(g_ConfigClient.nBackBmpOffSet, soFromBeginning);
          g_MemoryStream.Read(InBuf^, InBytes);
          DecompressBuf(InBuf, InBytes, 0, OutBuf, OutBytes);
        finally
          FreeMem(InBuf);
        end;
        if OutBytes > 0 then begin
          MemoryStream := TMemoryStream.Create;
          MemoryStream.Write(OutBuf^, OutBytes);
          MemoryStream.Position := 0;
          DIB := TDIB.Create;
          DIB.LoadFromStream(MemoryStream);
          g_BackSurface.LoadFromDIB(DIB);
          MemoryStream.Free;
          DIB.Free;
          FreeMem(OutBuf);
        end;
      end;
{-------------------------------------------------------------------------------}

Bmp: TBitMap;


sImageFile: string;
ImageFile: TMemoryStream;

ImageFile.LoadFromFile(sImageFile);

    Bmp := TBitMap.Create;
    Bmp.Canvas.Font.Color := clRed;
    Bmp.Canvas.Font.Size := 42;
    Bmp.Canvas.Font.Name := '_GB2312';
    Bmp.Canvas.Font.Style := [fsBold];

    Bmp.Canvas.Brush.Color := clWhite;
    Bmp.Height := Bmp.Canvas.TextHeight('0') + 2;
    Bmp.Width := Bmp.Canvas.TextWidth(DecryptString(BmpStr)) + 2;
    Bmp.Canvas.TextOut(1, 1, DecryptString(BmpStr));

    Bmp.SaveToStream(ImageFile);
    Bmp.Free;

 ClientConfig.nBackBmpOffSet := MirClient.Size;

  if ImageFile.Size > 0 then begin
    GetMem(Buffer, ImageFile.Size);
    try
      ImageFile.Seek(0, soFromBeginning);
      ImageFile.Read(Buffer^, ImageFile.Size);
      CompressBuf(Buffer, ImageFile.Size, OutBuf, OutBytes);
      ClientConfig.nBackBmpSize := OutBytes;
      MirClient.Seek(0, soFromEnd);
      MirClient.Write(OutBuf^, OutBytes);
      FreeMem(OutBuf);
    finally
      FreeMem(Buffer);
    end;
  end;